﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

namespace Proyecta.Institucion
{
    public partial class Institucion : System.Web.UI.Page
    {
        private string idPermiso;
        private string uriAccion;
        protected void Page_Load(object sender, EventArgs e)
        {
            this.uriAccion = Request.QueryString["accion"];

            if (!IsPostBack && this.uriAccion != "NUEVO")
            {
                this.idPermiso = Request.QueryString["id"];
                DataToUi(idPermiso);
            }
        }
      
        public void DataToUi(string id)
        {
            try
            {
                DataSet ds = null;
                Proyecta.Data.BO.InstitucionesBO oInst = new Data.BO.InstitucionesBO();
                Proyecta.Data.DAO.InstitucionesDAO daoInst = new Data.DAO.InstitucionesDAO();
                oInst.idInstitucion = int.Parse(id);
                ds = daoInst.MostrarporID(oInst);

                txtID.Value = ds.Tables[0].Rows[0]["idInstitucion"].ToString();
                txtNombre.Text = ds.Tables[0].Rows[0]["Institucion"].ToString();
                txtClave.Text = ds.Tables[0].Rows[0]["claveSep"].ToString();
                txtDirección.Text = ds.Tables[0].Rows[0]["Direccion"].ToString();
                txtPais.Text = ds.Tables[0].Rows[0]["Pais"].ToString();
                txtEstado.Text = ds.Tables[0].Rows[0]["Estado"].ToString();
                txtCiudad.Text = ds.Tables[0].Rows[0]["Ciudad"].ToString();
                txtColonia.Text = ds.Tables[0].Rows[0]["Colonia"].ToString();
                txtCodigopostal.Text = ds.Tables[0].Rows[0]["codigoPostal"].ToString();
            }
            catch (Exception ex)
            {

            }
        }

        private void Action() {

            switch (this.uriAccion)
            {

                case "NUEVO":
                    insertar();
                    Redireccionar();
                    break;

                case "EDITAR":
                    modificar();
                    Redireccionar();
                    break;

                case "ELIMINAR":
                    eliminar();
                    Redireccionar();
                    break;
            }
            
            
        }


        private void Redireccionar() {
            Response.Redirect("Index.aspx");
        }

        public void insertar()
        {
            Proyecta.Data.BO.InstitucionesBO oinst = new Data.BO.InstitucionesBO();
          
            oinst.Institucion = txtNombre.Text;
            oinst.claveSep = txtClave.Text;
            oinst.Direccion = txtDirección.Text;
            oinst.Pais = txtPais.Text;
            oinst.Estado = txtEstado.Text;
            oinst.Ciudad = txtCiudad.Text;
            oinst.Colonia = txtColonia.Text;
            oinst.codigoPostal = txtCodigopostal.Text;

            Proyecta.Data.DAO.InstitucionesDAO daoinst = new Data.DAO.InstitucionesDAO();
            daoinst.Insertar(oinst);
        }

        public void modificar()
        {
            Proyecta.Data.BO.InstitucionesBO oinst = new Data.BO.InstitucionesBO();
            Proyecta.Data.DAO.InstitucionesDAO daoinst = new Data.DAO.InstitucionesDAO();
            oinst.idInstitucion = int.Parse(txtID.Value);
            //
            
            oinst.Institucion = txtNombre.Text;
            oinst.claveSep = txtClave.Text;
            oinst.Direccion = txtDirección.Text;
            oinst.Pais = txtPais.Text;
            oinst.Estado = txtEstado.Text;
            oinst.Ciudad = txtCiudad.Text;
            oinst.Colonia = txtColonia.Text;
            oinst.codigoPostal = txtCodigopostal.Text;

            daoinst.Modificar(oinst);
            
        }

        public void eliminar()
        {
            Proyecta.Data.BO.InstitucionesBO oinst = new Data.BO.InstitucionesBO();
            Proyecta.Data.DAO.InstitucionesDAO daoinst = new Data.DAO.InstitucionesDAO();
            oinst.idInstitucion = int.Parse(txtID.Value);
            //para Eliminar solo se necesita el id

           daoinst.Eliminar(oinst);

        }
   
        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            this.Action();
        }

        protected void btnCancelar_Click(object sender, EventArgs e)
        {
            this.Redireccionar();
        }




    }
}